package com.common.dao;

import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Component;

import com.common.dao.base.BaseDAO;
import com.common.dto.DictionaryDTO;


@Component
public interface DictionaryDAO extends BaseDAO<DictionaryDTO>{
	
	//查询省  根据type_code查询 
	List<DictionaryDTO> getDictByi(DictionaryDTO item);
	
	//查询省  根据type_code和parent_id查询 
	List<DictionaryDTO> getDictByp(DictionaryDTO parent);
	
	/**
	 * @function 分页条件查询 根据类型编号
	 * @param dictionaryDTO(typeCode)
	 * @return
	 * @data 2017-8-14
	 * @author zhongpeng
	 */
	List<DictionaryDTO> getDictItemPaging(DictionaryDTO dictionaryDTO);
	
	/**
	 * 根据城市名查找省市编号
	 * @param
	 * @return
	 */
	Map<String, String> selectItemCodeByItemName(String itemName);
	
	/**
	 * @function 查询资源分类
	 * @param dictionaryDTO #{typeCode} #{parentCode}
	 * @return
	 * @data 2017-9-11
	 * @author zhongpeng
	 */
	List<DictionaryDTO> selectType(DictionaryDTO dictionaryDTO);

	//联动查询，查询出省市区
	List<DictionaryDTO> getPCC(DictionaryDTO entity);
	
	//根据itemCode查询 
	DictionaryDTO selectByItemCode(String itemCode);
	
	//通过发货通知单号查询该订单的送货地址下的仓库信息
	List<DictionaryDTO> selectAddressWarehouse(String postNo);
	
	//通过type_code和item_code更新库点信息
	int updateStorePointFromSCM(DictionaryDTO entity);
	
	//通过 type_code和item_code更新
	int updateFromSCM(DictionaryDTO entity);
	
	//更新报表数据，重新排序（变大）
	int updateReportB(DictionaryDTO entity);
	
	//更新报表数据，重新排序（变小）
	int updateReportS(DictionaryDTO entity);
	
	//删除报表数据后，重新排序
	int updateReportD(DictionaryDTO entity);
	
	//查询parent_id最大的值
	String selectMaxParentId(String typeCode);


	List<DictionaryDTO> queryCodeByItemName(DictionaryDTO dict);

	/**
	 *  根据code查询区域信息
	 * @param areas
	 * @return
	 */
    List<Map> querybyCodes(List<String> areas);
}
